package handler

import (
	"github.com/gin-gonic/gin"
	"myplatform/libs/errcode"
	"net/http"
)

// 定义数据标准化返回格式
type Response struct {
	Code    int         `json:"code"`
	Message string      `json:"message"`
	Data    interface{} `json:"data"`
}

func SendResponse(c *gin.Context, code int, message string, data interface{}) {
	rsp := Response{
		Code:    code,
		Message: message,
		Data:    data,
	}
	//将rsp结构体以及要返回的数据库对象 转化成json格式
	//数据序列化 将查询到的数据库对象按照json标签，转化成json格式返回
	c.JSON(http.StatusOK, rsp)
}

// 定义标准化返回函数-- 加上错误解析 --做错误统一管理以及标准化返回
func SendRsp(c *gin.Context, err error, data interface{}) {
	code, message := errcode.DecodeErr(err)
	//定义返回数据
	rsp := Response{
		Code:    code,
		Message: message,
		Data:    data,
	}
	c.JSON(http.StatusOK, rsp)
}
